home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / chvalid.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  5KB  |  231 lines

  1. /*
  2.  * Summary: Unicode character range checking
  3.  * Description: this module exports interfaces for the character
  4.  *         range validation APIs
  5.  *
  6.  * This file is automatically generated from the cvs source
  7.  * definition files using the genChRanges.py Python script
  8.  *
  9.  * Generation date: Tue Nov 18 08:14:21 2003
  10.  * Sources: chvalid.def
  11.  * Author: William Brack <wbrack@mmm.com.hk>
  12.  */
  13.  
  14. #ifndef __XML_CHVALID_H__
  15. #define __XML_CHVALID_H__
  16.  
  17. #include <libxml/xmlversion.h>
  18. #include <libxml/xmlstring.h>
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. /*
  25.  * Define our typedefs and structures
  26.  *
  27.  */
  28. typedef struct _xmlChSRange xmlChSRange;
  29. typedef xmlChSRange *xmlChSRangePtr;
  30. struct _xmlChSRange {
  31.     unsigned short    low;
  32.     unsigned short    high;
  33. };
  34.  
  35. typedef struct _xmlChLRange xmlChLRange;
  36. typedef xmlChLRange *xmlChLRangePtr;
  37. struct _xmlChLRange {
  38.     unsigned int    low;
  39.     unsigned int    high;
  40. };
  41.  
  42. typedef struct _xmlChRangeGroup xmlChRangeGroup;
  43. typedef xmlChRangeGroup *xmlChRangeGroupPtr;
  44. struct _xmlChRangeGroup {
  45.     int            nbShortRange;
  46.     int            nbLongRange;
  47.     xmlChSRangePtr    shortRange;    /* points to an array of ranges */
  48.     xmlChLRangePtr    longRange;
  49. };
  50.  
  51. /**
  52.  * Range checking routine
  53.  */
  54. XMLPUBFUN int XMLCALL
  55.         xmlCharInRange(unsigned int val, const xmlChRangeGroupPtr group);
  56.  
  57.  
  58. /**
  59.  * xmlIsBaseChar_ch:
  60.  * @c: char to validate
  61.  *
  62.  * Automatically generated by genChRanges.py
  63.  */
  64. #define xmlIsBaseChar_ch(c)    (((0x41 <= (c)) && ((c) <= 0x5a)) || \
  65.                  ((0x61 <= (c)) && ((c) <= 0x7a)) || \
  66.                  ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
  67.                  ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
  68.                   (0xf8 <= (c)))
  69.  
  70. /**
  71.  * xmlIsBaseCharQ:
  72.  * @c: char to validate
  73.  *
  74.  * Automatically generated by genChRanges.py
  75.  */
  76. #define xmlIsBaseCharQ(c)    (((c) < 0x100) ? \
  77.                  xmlIsBaseChar_ch((c)) : \
  78.                  xmlCharInRange((c), &xmlIsBaseCharGroup))
  79.  
  80. XMLPUBVAR xmlChRangeGroup xmlIsBaseCharGroup;
  81.  
  82. /**
  83.  * xmlIsBlank_ch:
  84.  * @c: char to validate
  85.  *
  86.  * Automatically generated by genChRanges.py
  87.  */
  88. #define xmlIsBlank_ch(c)    (((c) == 0x20) || \
  89.                  ((0x9 <= (c)) && ((c) <= 0xa)) || \
  90.                  ((c) == 0xd))
  91.  
  92. /**
  93.  * xmlIsBlankQ:
  94.  * @c: char to validate
  95.  *
  96.  * Automatically generated by genChRanges.py
  97.  */
  98. #define xmlIsBlankQ(c)        (((c) < 0x100) ? \
  99.                  xmlIsBlank_ch((c)) : 0)
  100.  
  101.  
  102. /**
  103.  * xmlIsChar_ch:
  104.  * @c: char to validate
  105.  *
  106.  * Automatically generated by genChRanges.py
  107.  */
  108. #define xmlIsChar_ch(c)        (((0x9 <= (c)) && ((c) <= 0xa)) || \
  109.                  ((c) == 0xd) || \
  110.                   (0x20 <= (c)))
  111.  
  112. /**
  113.  * xmlIsCharQ:
  114.  * @c: char to validate
  115.  *
  116.  * Automatically generated by genChRanges.py
  117.  */
  118. #define xmlIsCharQ(c)        (((c) < 0x100) ? \
  119.                  xmlIsChar_ch((c)) :\
  120.                 (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
  121.                  ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
  122.                  ((0x10000 <= (c)) && ((c) <= 0x10ffff))))
  123.  
  124. XMLPUBVAR xmlChRangeGroup xmlIsCharGroup;
  125.  
  126. /**
  127.  * xmlIsCombiningQ:
  128.  * @c: char to validate
  129.  *
  130.  * Automatically generated by genChRanges.py
  131.  */
  132. #define xmlIsCombiningQ(c)    (((c) < 0x100) ? \
  133.                  0 : \
  134.                  xmlCharInRange((c), &xmlIsCombiningGroup))
  135.  
  136. XMLPUBVAR xmlChRangeGroup xmlIsCombiningGroup;
  137.  
  138. /**
  139.  * xmlIsDigit_ch:
  140.  * @c: char to validate
  141.  *
  142.  * Automatically generated by genChRanges.py
  143.  */
  144. #define xmlIsDigit_ch(c)    (((0x30 <= (c)) && ((c) <= 0x39)))
  145.  
  146. /**
  147.  * xmlIsDigitQ:
  148.  * @c: char to validate
  149.  *
  150.  * Automatically generated by genChRanges.py
  151.  */
  152. #define xmlIsDigitQ(c)        (((c) < 0x100) ? \
  153.                  xmlIsDigit_ch((c)) : \
  154.                  xmlCharInRange((c), &xmlIsDigitGroup))
  155.  
  156. XMLPUBVAR xmlChRangeGroup xmlIsDigitGroup;
  157.  
  158. /**
  159.  * xmlIsExtender_ch:
  160.  * @c: char to validate
  161.  *
  162.  * Automatically generated by genChRanges.py
  163.  */
  164. #define xmlIsExtender_ch(c)    (((c) == 0xb7))
  165.  
  166. /**
  167.  * xmlIsExtenderQ:
  168.  * @c: char to validate
  169.  *
  170.  * Automatically generated by genChRanges.py
  171.  */
  172. #define xmlIsExtenderQ(c)    (((c) < 0x100) ? \
  173.                  xmlIsExtender_ch((c)) : \
  174.                  xmlCharInRange((c), &xmlIsExtenderGroup))
  175.  
  176. XMLPUBVAR xmlChRangeGroup xmlIsExtenderGroup;
  177.  
  178. /**
  179.  * xmlIsIdeographicQ:
  180.  * @c: char to validate
  181.  *
  182.  * Automatically generated by genChRanges.py
  183.  */
  184. #define xmlIsIdeographicQ(c)    (((c) < 0x100) ? \
  185.                  0 :\
  186.                 (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
  187.                  ((c) == 0x3007) || \
  188.                  ((0x3021 <= (c)) && ((c) <= 0x3029))))
  189.  
  190. XMLPUBVAR xmlChRangeGroup xmlIsIdeographicGroup;
  191. XMLPUBVAR unsigned char xmlIsPubidChar_tab[256];
  192.  
  193. /**
  194.  * xmlIsPubidChar_ch:
  195.  * @c: char to validate
  196.  *
  197.  * Automatically generated by genChRanges.py
  198.  */
  199. #define xmlIsPubidChar_ch(c)    (xmlIsPubidChar_tab[(c)])
  200.  
  201. /**
  202.  * xmlIsPubidCharQ:
  203.  * @c: char to validate
  204.  *
  205.  * Automatically generated by genChRanges.py
  206.  */
  207. #define xmlIsPubidCharQ(c)    (((c) < 0x100) ? \
  208.                  xmlIsPubidChar_ch((c)) : 0)
  209.  
  210. XMLPUBFUN int XMLCALL
  211.         xmlIsBaseChar(unsigned int ch);
  212. XMLPUBFUN int XMLCALL
  213.         xmlIsBlank(unsigned int ch);
  214. XMLPUBFUN int XMLCALL
  215.         xmlIsChar(unsigned int ch);
  216. XMLPUBFUN int XMLCALL
  217.         xmlIsCombining(unsigned int ch);
  218. XMLPUBFUN int XMLCALL
  219.         xmlIsDigit(unsigned int ch);
  220. XMLPUBFUN int XMLCALL
  221.         xmlIsExtender(unsigned int ch);
  222. XMLPUBFUN int XMLCALL
  223.         xmlIsIdeographic(unsigned int ch);
  224. XMLPUBFUN int XMLCALL
  225.         xmlIsPubidChar(unsigned int ch);
  226.  
  227. #ifdef __cplusplus
  228. }
  229. #endif
  230. #endif /* __XML_CHVALID_H__ */
  231.